using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MMM.Core.Domain;
using ServiceStack.ServiceHost;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using ServiceStack.DataAnnotations;

namespace MMM.Services.Type
{
    /// <summary>
    /// 类描述
    /// </summary>
    [Serializable]
    [Route("/api/contractmanage", "POST,PUT")]
    public class ContractManage : EntityBase<ContractManage>
    {
        /// <summary>
        /// 甲方名称
        /// </summary>
        [StringLength(50)]
        [Required]
        [Index]
        public String CompanyName { get; set; }
        /// <summary>
        /// 甲方ID
        /// </summary>
        public Guid? CompanyID { get; set; }
        /// <summary>
        /// 乙方名称
        /// </summary>
        [StringLength(50)]
        [Required]
        public String HroName { get; set; }
        /// <summary>
        /// 乙方ID
        /// </summary>
        public Guid? HroID { get; set; }
        /// <summary>
        /// 签订日期
        /// </summary>
        [Required]
        [Index]
        public DateTime SignDateTime { get; set; }
        /// <summary>
        /// 合同起始日期
        /// </summary>
        [Required]
        public DateTime StartDateTime { get; set; }
        /// <summary>
        /// 合同截止日期
        /// </summary>
        [Required]
        public DateTime EndDateTime { get; set; }
        /// <summary>
        /// 合同有效期
        /// </summary>
        [Required]
        public double EffectiveDate { get; set; }
        /// <summary>
        /// 合同类型
        /// </summary>
        [StringLength(50)]
        public String ConstractType { get; set; }
        /// <summary>
        /// 合同状态
        /// </summary>
        [StringLength(50)]
        public String ConstractState { get; set; }
        /// <summary>
        /// 合同规模
        /// </summary>
        [StringLength(50)]
        public String ConstractScale { get; set; }
        /// <summary>
        /// 合同附件
        /// </summary>
        [StringLength(50)]
        public String AdjunctName { get; set; }
        /// <summary>
        /// 合同附件ID
        /// </summary>
        public string AdjunctID { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        [StringLength(200)]
        public String Remarks { get; set; }
        /// <summary>
        /// 合同名称
        /// </summary>
        public string Code { get; set; }
        /// <summary>
        /// 合同编号
        /// </summary>
        public string Name { get; set; }
    }
}
